博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在URL中使用另一个url作为参数时会被`&`截断的问题
阅读量:5157 次
发布时间:2019-06-13

本文共 1456 字,大约阅读时间需要 4 分钟。

在URL中使用另一个url作为参数时会被&截断的问题

下午帮同事写一个url转二维码的小工具时,发生标题中描述的问题。比如:输入的url是http://www.example.dev/name=user&code=2000,转换为二维码后,扫描得到的url却是http://www.example.dev/name=user,&后的部分没有正确转换。问题很明显,作为参数的url中的&后的被解析为其他参数了。

前台请求的完整url是"http://{domain}/tools/getQrCode.php?url=http://www.example.dev/name=user&code=2000,后台从$_GET['url']中取得却是http://www.example.dev/name=user,另一部分成了$_GET['code']了。

解决方法其实很简单,给作为参数的url做一下urlencode就好了。js中可以直接使用encodeURIComponent函数为url编码。

代码示例如下:

  • 后台php
请输入url!'; exit(1);}echo genQrCode($url);exit(0);function genQrCode($url=''){ require_once 'libs/phpqrcode.php'; $value = $url; //二维码内容 $errorCorrectionLevel = 'L'; //容错级别 $matrixPointSize = 5; //生成图片大小 //生成二维码图片 $filename = '/../tmp/'.microtime().'.png'; QRcode::png($value, dirname( __FILE__ ) . $filename, $errorCorrectionLevel, $matrixPointSize, 2); return '

' . $url . '

';}
  • 前台html和js
之前的部分略        
二维码转换

PS:样式部分使用的bootstrap3

以上

转载于:https://www.cnblogs.com/colbertwong/p/8626394.html

你可能感兴趣的文章
LintCode-Backpack
查看>>
查询数据库锁
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
面试时被问到的问题
查看>>
注解小结
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>
多路复用
查看>>
spring IOC装配Bean(注解方式)
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty's Blocks
查看>>
Android开发技术周报 Issue#80
查看>>